package com.gopay.common.domain.bank.wechat.scan.cmbc;

import java.io.Serializable;
import java.math.BigDecimal;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("body")
public class Refund implements Serializable{

	private static final long serialVersionUID = 4350068092728050407L;

	/**
	 * 原支付交易流水号
	 */
	private String oriReqMsgId;

	/**
	 * 退款金额:需要退款的金额，该金额不能大于订单金额,单位为元，支持两位小数
	 */
	private BigDecimal refundAmount;

	/**
	 * 退款原因
	 */
	private String refundReason;

	/**
	 * 商户操作员编号
	 */
	private String operatorId;

	/**
	 * 商户门店编号
	 */
	private String storeId;

	/**
	 * 商户机具终端编号
	 */
	private String terminalId;

	/**
	 * 实际退款金额
	 */
	private BigDecimal refundFee;

	/**
	 * 可退金额
	 */
	private BigDecimal backFee;

	/**
	 * 退款支付时间
	 */
	private String refundTime;

	/**
	 * 对账日期
	 */
	private String settleDate;

	/**
	 * 买家编号
	 */
	private String buyerId;

	/**
	 * 清算撤销标识 0正常清算-1发生撤销，渠道不产生退款 注：此接口只返回0状态
	 */
	private String isClearOrCancel;

	private String extend1;

	private String extend2;

	private String extend3;

	public String getExtend1() {
		return extend1;
	}

	public void setExtend1(String extend1) {
		this.extend1 = extend1;
	}

	public String getExtend2() {
		return extend2;
	}

	public void setExtend2(String extend2) {
		this.extend2 = extend2;
	}

	public String getExtend3() {
		return extend3;
	}

	public void setExtend3(String extend3) {
		this.extend3 = extend3;
	}

	public String getOriReqMsgId() {
		return oriReqMsgId;
	}

	public void setOriReqMsgId(String oriReqMsgId) {
		this.oriReqMsgId = oriReqMsgId;
	}

	public String getRefundReason() {
		return refundReason;
	}

	public void setRefundReason(String refundReason) {
		this.refundReason = refundReason;
	}

	public String getOperatorId() {
		return operatorId;
	}

	public void setOperatorId(String operatorId) {
		this.operatorId = operatorId;
	}

	public String getStoreId() {
		return storeId;
	}

	public void setStoreId(String storeId) {
		this.storeId = storeId;
	}

	public String getTerminalId() {
		return terminalId;
	}

	public void setTerminalId(String terminalId) {
		this.terminalId = terminalId;
	}

	public String getRefundTime() {
		return refundTime;
	}

	public void setRefundTime(String refundTime) {
		this.refundTime = refundTime;
	}

	public String getSettleDate() {
		return settleDate;
	}

	public void setSettleDate(String settleDate) {
		this.settleDate = settleDate;
	}

	public String getBuyerId() {
		return buyerId;
	}

	public void setBuyerId(String buyerId) {
		this.buyerId = buyerId;
	}

	public String getIsClearOrCancel() {
		return isClearOrCancel;
	}

	public void setIsClearOrCancel(String isClearOrCancel) {
		this.isClearOrCancel = isClearOrCancel;
	}

	public BigDecimal getRefundAmount() {
		return refundAmount;
	}

	public void setRefundAmount(BigDecimal refundAmount) {
		this.refundAmount = refundAmount;
	}

	public BigDecimal getRefundFee() {
		return refundFee;
	}

	public void setRefundFee(BigDecimal refundFee) {
		this.refundFee = refundFee;
	}

	public BigDecimal getBackFee() {
		return backFee;
	}

	public void setBackFee(BigDecimal backFee) {
		this.backFee = backFee;
	}

}
